This invention relates to the field of desktop publishing and, more particularly, relates to a software utility for separating colors into spot-color partitions used in encapsulated POSTSCRIPT images to create printing plates and screens for offset and other types of printing.
Offset printing is a form of lithography in which ink is transferred from a plate containing the image to be printed on paper. The simplest and least expensive form of offset printing is black-and-white printing. Producing full-color reproductions of an image using offset and other printing processes is more complex and costly. To make full-color reproductions, a process known as, xe2x80x9ccolor separationxe2x80x9d is employed. For example, color separation for an offset printing process consists of creating four separate printing plates, one plate for printing each of four process colors, cyan, magenta, yellow, and black (CMYK). A full color image is created by blending layers of various sizes of half-tone dots in the process colors. Each plate is etched from a single-color negative known as a partition. Passing the image through a series of color filters typically performs color separation and then through a screen, creating the halftone partitions. Each halftone partition is then used to etch a positive image on an engraving plate, resulting in each printing plate containing the halftone dots for printing only one process color.
One variation of color printing is spot-color printing. In spot-color printing, a small number of xe2x80x9cspot-colorxe2x80x9d inks, typically one or two, are used, often in combination with black ink to produce the image. Alternatively, one or more spot-color inks, in addition to the four process colors, and black ink, may be used to produce partitions to print the image. Each plate can contain varying levels of ink coverage using the halftone technique. Therefore, each plate can contain a range of tints of the plate color, varying from xe2x80x9cwhitexe2x80x9d (no color) to xe2x80x9csolidxe2x80x9d (full coverage). For example, objects in the image that are either black or gray are mapped to the black plate as either solid black or tints of black (gray). If only one spot color is used, the remaining objects may be mapped to the spot-color plate as a tint of the spot-color.
The advent of desktop publishing application programs (xe2x80x9cDTPxe2x80x9d) and the POSTSCRIPT (a software convention) page-layout language simplified the production of commercial printing jobs using spot-color plates. Typically, most commercial printing jobs use the POSTSCRIPT page-layout language, manufactured by Adobe Systems, Inc. of San Jose, Calif., as an intermediate representation of the content of each plate. Typically, the DTP separates each color from the image and produces one POSTSCRIPT file for each spot-color plate. The resulting POSTSCRIPT files may be used as input to a variety of different processes and machines to produce a set of color-separated plates for use in offset and other printing presses.
Due to the popularity and ease of use of the POSTSCRIPT page page-layout language, it has become the printing industry standard. Furthermore, a variant, known as Encapsulated POSTSCRIPT (xe2x80x9cEPSxe2x80x9d) evolved as a method of representing individual objects, such as a company logo, in a separate file that can be reproduced in a predictable way on all POSTSCRIPT output devices. For example, it may be of particular importance to print the COCO-COLA logo with the precise vibrant red that customers have come to associate with that product, regardless of the POSTSCRIPT output device used. Therefore, the COCO-COLA logo will typically be represented in an EPS file. Thus, regardless of the POSTSCRIPT device used to produce the color-separated plates, the COCO-COLA logo, along with the precise vibrant red color so well known to its customers, will always appear the same.
Normally when generating the POSTSCRIPT output, the DPT typically inserts the EPS file, which contains a specific object, such as the COCO-COLA logo, verbatim into the POSTSCRIPT output stream as a stand-alone piece of code. However, different EPS files are created by a variety of users with a variety of DTP application programs. Therefore, it is common for different objects in different EPS files that are intended to use the same color to have different named colors. For example, a POSTSCRIPT output stream may contain two distinct EPS files that contain the COCO-COLA logo. Although both files intend to print the COCO-COLA logo using the same vibrant red, one EPS file may use xe2x80x9cPANTONE Redxe2x80x9d to represent the vibrant red of the COCO-COLA logo, while the second EPS file may use xe2x80x9cPANTONE Red 100.xe2x80x9d As a result, the DTP application program may not be able to determine that two colors, which have different names, are meant to be represented on the same spot-color plate. This leads to problems for DTP application programs in that the DTP application programs may not be able to determine all of the colors that the user intended to be represented on the same spot-color plate.
Typically, DTP application programs have attempted to solve this problem by requiring the user to specify which spot-color plate each object within the POSTSCRIPT output stream should be printed to. Using the example above, if the user intended that the COCO-COLA logo from each of the two separate EPS files should be printed to the same spot-color plate, the user must specify both the xe2x80x9cPANTONE Redxe2x80x9d and xe2x80x9cPANTONE Red 100xe2x80x9d should be printed to the xe2x80x9cPANTONE Redxe2x80x9d plate. For images containing a large number of objects in separate EPS files, this approach is time consuming for the user. Additionally, the user must have a high level of understanding of the POSTSCRIPT language and color separation to correctly modify the POSTSCRIPT output stream to place each object color on the correct spot-color plate. Furthermore, this can be a particularly confusing and tedious task, even for the most sophisticated user, because many times the name of the object colors are very close, but not identical.
Thus, there is a general need in the art for a more convenient and efficient method for mapping objects having object colors to the intended spot-color plate. There is a further need for a method for automatically separating and mapping objects having object colors in a separate EPS file to the intended spot-color plate.
The present invention meets the above-described needs in a software utility for separating object colors in an EPS file and mapping the objects to the appropriate spot-color partitions. Specifically, the encapsulated POSTSCRIPT Color Separation (xe2x80x9cECSxe2x80x9d) utility analyzes the colors used in an EPS file and generates POSTSCRIPT prologue and epilogue code for each EPS file. The prologue code sets the setcmykcolor and setrgbcolor operators in the POSTSCRIPT output device so that the object colors can be mapped as a tint of the spot-color to the spot-color partition. For those colors that cannot be mapped to the spot-color partition, the ECS utility xe2x80x9cknocks out,xe2x80x9d or removes the object from the spot-color partition and maps the object to another partition.
Generally described, the ECS utility separates the colors of an image in an EPS file to be printed to a spot-color printing plate. The color separation of images in an EPS file is a two-step process. In the first step, the ECS utility determines whether the spot color appears in the EPS file. Typically, the colors used are listed in the document structuring conventions (xe2x80x9cDSCxe2x80x9d) comments of the header portion of the EPS file. If the DSC comment section contains the spot color, then the ECS utility defines a key color equal to the colorimetric values of the spot color, as defined in the DSC comment section. Colorimetric values are the values of a calorimetric system that define the measurable properties of the color. For example, the most common calorimetric systems are the additive system, which uses the red, green and blue (RGB) calorimetric values, and the subtractive color systems, which uses cyan, magenta, yellow, and black (CMYK) calorimetric values. However, if the DSC comment section does not contain the spot color, then the ECS utility defines the key color equal to the colorimetric values of the spot color defined by the DTP application.
More specifically, the ECS utility performs an intelligent name matching technique to determine whether the named color located in the DSC comment section of the EPS file is xe2x80x9csimilarxe2x80x9d to the spot color used in the DTP application program. Colors that are similar may have the same or very close colorimetric values but have different names. For example, the two colors xe2x80x9cPANTONE 100 xe2x80x9d and xe2x80x9cPANTONE 100 CVCxe2x80x9d have slightly different names but have the same calorimetric values. Because their names are slightly different, they may not be considered an exact match. Nevertheless, they are considered xe2x80x9csimilarxe2x80x9d because their colorimetric values are the same or very close.
The ECS utility first determines whether the named color in the DSC comment section is a PANTONE color. If the named color is a PANTONE color, the ECS utility first compares the PANTONE color with the spot color to determine if they match exactly. If the two colors are an exact match, the ECS utility replaces the colorimetric values associated with the key color with the colorimetric values associated with the PANTONE color in the DSC comment section. However, if the two colors do not match exactly, the ECS utility determines whether the PANTONE color contains a suffix. If the PANTONE color name contains a suffix, the ECS utility removes the suffix and again compares the name of the PANTONE color in the DSC comment section to the spot color. If the PANTONE color exactly matches the spot color after the suffix is stripped, the ECS utility determines that the colors are xe2x80x9csimilarxe2x80x9d and replaces the colorimetric values associated with the key color with the colorimetric values associated with the stripped PANTONE color. However, if the stripped PANTONE color does not match the spot color, the two colors are considered dissimilar and the ECS utility replaces the colorimetric values associated with the key color with the calorimetric values associated with the spot color used by the DTP application program.
Once the key color has been defined, the ECS utility proceeds to the second step. In this step, the ECS utility creates alternate versions of the POSTSCRIPT operators, which define the object colors. These alternate operators will be called within the POSTSCRIPT printer, in place of the standard operators. The alternate operators determine whether the object color is a tint of the key color. If the object color is a tint of the key color, the ECS alternate operators map the object color to the spot-color partition as the appropriate tint color. If the object color is not a tint of the key color, the ECS alternate operators xe2x80x9cknock outxe2x80x9d the object on the spot-color partition.
Similarly, for the black plate, the ECS utility creates a different set of alternate versions of the object-color operators. The black plate alternate operators determine whether an object color is a tint of any of the key colors for any of the spot colors, as defined in the first step. If the object color is a tint of any key color, the operator xe2x80x9cknocks outxe2x80x9d the color on the black plate. If the object color is not a tint of any key color, the ECS alternate operator maps the object to the black plate.
The ECS utility may further determine whether the object color associated with an object in the body section of the EPS file is a tint of the key color. The ECS utility first calculates the ratio of each calorimetric value associated with the object color to each colorimetric value associated with the key color. Typically, the ECS utility uses the subtractive, or CMYK calorimetric values to determine whether the object color is a tint of the key color. Therefore, since the calorimetric values of the object color may be stored using additive, or RGB colorimetric values, the ECS converts the additive colorimetric values of the object color to subtractive calorimetric values if necessary. The conversion step is accomplished by taking the complement value of each RGB colorimetric value. The complement colorimetric values (C, M, and Y) of the additive primary calorimetric values (R, G, and B) are calculated by subtracting the individual RGB values from a primary value. For example, in a computer display device using 256-colors, the maximum primary value is 255. Therefore, the complementary colorimetric values would be C=255-R,M=255-G,and Y=255-G.
After the ECS utility calculates the complementary colorimetric values of the object color, it calculates the ratio of each of the primary colorimetric values of the object color to the primary colorimetric values of the key color. That is, the ECS utility calculates the ratio of the cyan value in the object color to the cyan value of the key color, and the ratio of the magenta color value of the object color to the magenta color value of the key color, etc. Next, the ECS utility calculates the difference between each ratio and compares the difference to a predefined threshold value. If each difference is less than the predefined threshold value, the object color is considered a tint of the key color. A tint value is then calculated by taking the average value of the calculated complementary color value ratios.
The ECS utility may also generate POSTSCRIPT prologue code to send to a POSTSCRIPT output device before the EPS file is sent to the POSTSCRIPT output device. The prologue code sets a plurality of color variables used by the output device to key colorimetric values defined by the ECS in the first step. The output device uses color variables to print, or output objects using the appropriate color on the appropriate spot-color partition. Once the color variables are set in the output device, the ECS transmits the EPS file to the output device, which in turn outputs (e.g., displays on a display device, prints, etc.) the EPS file using the appropriate colors. Finally, after the EPS file is outputted, the ECS utility generates a POSTSCRIPT epilogue code and transmits the epilogue code to the output device to reset the color variables to their original values.
The invention also includes a method for making copies using the methods described above for the ECS utility, and another method for creating copies based on the partitions produced by the ECS utility. For example, printing plates may be created from the partitions and used to print copies of the image on an offset printing press. Similarly, silk screens may be created from the partitions and used to print copies of the image on a screen-printing machine. Other types of partitions and printing positives may also be created and used to make copies in accordance with the present invention. In sum, the invention includes an apparatus operable for carrying out the methods described above, and a computer-readable storage device for storing a set of computer-executable instructions for performing those methods.
That the invention improves over the drawbacks of spot color transformation systems and accomplishes the advantages described above will become apparent from the following detailed description of the exemplary embodiments and the appended drawings and claims.